import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ClassifiedOutput {
    public static void main(String[] args) {
        Pattern p;//创建一个模式对象p
        Matcher m;//创建一个匹配对象m
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()){//循环输入
            String str = scanner.nextLine();//读取输入的字符串到str中

            p = Pattern.compile("[A-Z]");//调用compile方法，使用正则表达式建立一个表示大写字母的模式对象
            m = p.matcher(str);//把输入的字符串赋给匹配对象
            System.out.print("大写英文字母：");
            while (m.find()){//在字符串中寻找和大写字母匹配的字符序列
                String str1 = m.group();//将匹配到的字符序列放到字符串str1中
                System.out.print(str1);//输出str1
            }
            System.out.println();

            p = Pattern.compile("[a-z]");//表示小写字母的模式对象
            m = p.matcher(str);//把输入的字符串赋给匹配对象
            System.out.print("小写英文字母：");
            while (m.find()){//在字符串中寻找和小写字母匹配的字符序列
                String str1 = m.group();//将匹配到的字符序列放到字符串str1中
                System.out.print(str1);//输出str1
            }
            System.out.println();

            p = Pattern.compile("\\d+");//表示数字的模式对象
            m = p.matcher(str);//把输入的字符串赋给匹配对象
            System.out.print("数字：");
            while (m.find()){//在字符串中寻找和数字匹配的字符序列
                String str1 = m.group();//将匹配到的字符序列放到字符串str1中
                System.out.print(str1);//输出str1
            }
            System.out.println();
        }
    }
}
